iOS 12下请求失败

您所在的位置:网站首页 ios 请求 iOS 12下请求失败

iOS 12下请求失败

2023-06-21 04:32| 来源: 网络整理| 查看: 265

由于我们服务端设置了**Access-Control-Allow-Headers : *** ****,导致OPTIONS一直返回空的响应头,无法跨域。

/** * ios 12版本以下, Access-Control-Allow-Headers 为通配符 ’*‘ 引发报错 * 设置 请求头白名单加当前请求请求头,问题解决 */ app.all('*', function (req, res, next) { const headersKeys = Object.keys(req.headers); const whiteHeaders = ["version", "uuid", "platform_version_name", "platform_version_code", "sn", "udid","operator","channel","store_id","Content-Type","Content-Length","Authorization","Accept","X-Requested-With"]; const allowHeaders = _.uniq([...headersKeys, ...whiteHeaders]) res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", `${allowHeaders}`); res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); res.header("Content-Type", "application/json;"); next(); });

在IOS12版本下,是浏览器内核触发了cors拦截,但仅仅拦截了非简单跨域请求。如果你的请求是简单请求,那么在IOS12版本下不会出现这个问题。

MDN 简单请求

developer.mozilla.org/zh-CN/docs/…

掘金文章

juejin.cn/post/694651…

axios issues

github.com/axios/axios…

stackoverflow 问答

stackoverflow.com/questions/4…



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3